/**
 * 
 * @Author: biubiu0002
 * @Date: 2021-04-26 11:41
 **/




#ifndef EAIM_SYSTEM_COURSESELECTIONMAPPER_H
#define EAIM_SYSTEM_COURSESELECTIONMAPPER_H


#include <list>
#include "vector"
#include "CourseSelection.h"

class CourseSelectionMapper {
private:
    std::list<CourseSelection> courseSelectionList;

public:

    CourseSelection selectByCourseSelectionId(std::string studentId,
                                                           std::string courseId,
                                                           int schoolYear,
                                                           int semester);

    std::vector<CourseSelection> selectByCourseId(std::string courseId);

    std::vector<CourseSelection> selectByStudentIdAndCourseId(std::string studentId,
                                                            std::string courseId);

    std::vector<CourseSelection> selectByStudentId(std::string studentId);

    std::list<CourseSelection> loadCourseSelection();

    int batchInsertCourseSelection(std::list<CourseSelection>& courseSelectionList);

    CourseSelectionMapper();

    const std::list<CourseSelection> &getCourseSelectionList() const;

    void setCourseSelectionList(const std::list<CourseSelection> &courseSelectionList);


};


#endif //EAIM_SYSTEM_COURSESELECTIONMAPPER_H
